package com.ruoyi.mall.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.mall.domain.GoodsSpecifications;
import lombok.Data;
import java.util.Date;
import java.util.List;


/**
 * 商城商品信息视图对象 mall_goods
 *
 * @author ruoyi
 * @date 2024-04-24
 */
@Data
@ExcelIgnoreUnannotated
public class MallGoodsVo {

    private static final long serialVersionUID = 1L;

    /**
     * 商品ID
     */
    @ExcelProperty(value = "商品ID")
    private Long goodsId;

    /**
     * 商品分类表主键
     */
    @ExcelProperty(value = "商品分类表主键")
    private Long categoryId;

    /**
     * 商品名称
     */
    @ExcelProperty(value = "商品名称")
    private String goodsName;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String goodsShortName;

    /**
     * 图片地址
     */
    @ExcelProperty(value = "图片地址")
    private Long goodsImg;

    /**
     * 图片具体地址
     */
    private String goodsImgUrl;

    /**
     * 小图片地址
     */
    @ExcelProperty(value = "小图片地址")
    private Long goodsSmallImg;

    /**
     * 大图片地址
     */
    @ExcelProperty(value = "大图片地址")
    private Long goodsBigImg;

    /**
     * 商品描述
     */
    @ExcelProperty(value = "商品描述")
    private String goodsDesc;

    /**
     * 商品使用说明
     */
    @ExcelProperty(value = "商品使用说明")
    private String goodsInstructions;

    /**
     * 支付规则 (0：积分 1：现金 2：积分+现金）
     */
    @ExcelProperty(value = "支付规则 (0：积分 1：现金 2：积分+现金）")
    private Integer payRule;

    /**
     * 商品积分数
     */
    @ExcelProperty(value = "商品积分数")
    private Long goodsScore;

    /**
     * 商品现金（单位:分）
     */
    @ExcelProperty(value = "商品现金", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "单=位:分")
    private Long goodsMoney;

    /**
     * 商品状态（0：下架 1：在售）
     */
    @ExcelProperty(value = "商品状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：下架,1=：在售")
    private Integer goodsStatus;

    /**
     * 删除标志(0：未删除 1：已删除)
     */
    @ExcelProperty(value = "删除标志(0：未删除 1：已删除)")
    private Integer yn;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 商品规格分类信息
     */
    private List<GoodsSpecificationsVo> lstGoodsSpecifications;

}
